{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib notebook\n",
    "%matplotlib inline\n",
    "from nibabel.testing import data_path\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "from keras import applications\n",
    "import nibabel as nib\n",
    "import keras\n",
    "import seaborn as sns\n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "config = tf.ConfigProto( device_count = {'GPU': 1 , 'CPU': 56} ) \n",
    "sess = tf.Session(config=config) \n",
    "keras.backend.set_session(sess)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[name: \"/device:CPU:0\"\n",
      "device_type: \"CPU\"\n",
      "memory_limit: 268435456\n",
      "locality {\n",
      "}\n",
      "incarnation: 2367599147616206400\n",
      ", name: \"/device:XLA_GPU:0\"\n",
      "device_type: \"XLA_GPU\"\n",
      "memory_limit: 17179869184\n",
      "locality {\n",
      "}\n",
      "incarnation: 938508606825554545\n",
      "physical_device_desc: \"device: XLA_GPU device\"\n",
      ", name: \"/device:XLA_CPU:0\"\n",
      "device_type: \"XLA_CPU\"\n",
      "memory_limit: 17179869184\n",
      "locality {\n",
      "}\n",
      "incarnation: 12818381990054519496\n",
      "physical_device_desc: \"device: XLA_CPU device\"\n",
      ", name: \"/device:GPU:0\"\n",
      "device_type: \"GPU\"\n",
      "memory_limit: 3602907136\n",
      "locality {\n",
      "  bus_id: 1\n",
      "  links {\n",
      "  }\n",
      "}\n",
      "incarnation: 6052512008501468914\n",
      "physical_device_desc: \"device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1\"\n",
      "]\n"
     ]
    }
   ],
   "source": [
    "from tensorflow.python.client import device_lib \n",
    "print(device_lib.list_local_devices())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import glob\n",
    "from keras.losses import categorical_crossentropy\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Conv2D, Dropout, Flatten, MaxPooling2D\n",
    "from keras import layers\n",
    "from keras.callbacks import EarlyStopping\n",
    "from sklearn.model_selection import train_test_split\n",
    "from keras import initializers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "Adni_normal_6_months=glob.glob('/home/kushpal/THESIS/ADNI_Normal/Normal-m06-3.0T(27)/[0-9]*/*/*/*/w*')\n",
    "Adni_normal_12_months=glob.glob('/home/kushpal/THESIS/ADNI_Normal/Normal-m12-3.0T(27)/[0-9]*/*/*/*/w*')\n",
    "Adni_normal_24_months=glob.glob('/home/kushpal/THESIS/ADNI_Normal/Normal-m24-3.0T(27)/[0-9]*/*/*/*/w*')\n",
    "Adni_normal_36_months=glob.glob('/home/kushpal/THESIS/ADNI_Normal/Normal-m36-3.0T(27)/[0-9]*/*/*/*/w*')\n",
    "\n",
    "Mci_bl_3_months=glob.glob('/home/kushpal/THESIS/MCI/MCI-bl-3.0T (22)/[0-9]*/*/*/*/w*')\n",
    "Mci_6_months=glob.glob('/home/kushpal/THESIS/MCI/MCI-m06-3.0T (22)/[0-9]*/*/*/*/w*')\n",
    "Mci_12_months=glob.glob('/home/kushpal/THESIS/MCI/MCI-m12-3.0T (22)/[0-9]*/*/*/*/w*')\n",
    "Mci_24_months=glob.glob('/home/kushpal/THESIS/MCI/MCI-m24-3.0T (22)/[0-9]*/*/*/*/w*')\n",
    "Mci_36_months=glob.glob('/home/kushpal/THESIS/MCI/MCI-m36-3.0T (22)/[0-9]*/*/*/*/w*')\n",
    "\n",
    "Ad_bl_3_months=glob.glob(\"/home/kushpal/THESIS/AD-bl-3.0T(22)/[0-9]*/*/*/*/w*\")\n",
    "Ad_6_months=glob.glob(\"/home/kushpal/THESIS/AD-m06-3.0T(22)/[0-9]*/*/*/*/w*\")\n",
    "Ad_12_months=glob.glob(\"/home/kushpal/THESIS/AD-m12-3.0T(22)/[0-9]*/*/*/*/w*\")\n",
    "Ad_24_months=glob.glob(\"/home/kushpal/THESIS/AD-m24-3.0T(22)/[0-9]*/*/*/*/w*\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(27, 22, 22)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(Adni_normal_6_months),len(Mci_bl_3_months),len(Ad_bl_3_months)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "Adni_normal_image_X=[]\n",
    "Adni_normal_image_Y=[]\n",
    "for i in range(len(Adni_normal_6_months)):\n",
    "    newimg = nib.load(Adni_normal_6_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Adni_normal_image_X.append(data)\n",
    "    Adni_normal_image_Y.append(0)\n",
    "for i in range(len(Adni_normal_12_months)):\n",
    "    newimg = nib.load(Adni_normal_12_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Adni_normal_image_X.append(data)\n",
    "    Adni_normal_image_Y.append(0)\n",
    "    \n",
    "for i in range(len(Adni_normal_24_months)):\n",
    "    newimg = nib.load(Adni_normal_24_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Adni_normal_image_X.append(data)\n",
    "    Adni_normal_image_Y.append(0)\n",
    "for i in range(len(Adni_normal_36_months)):\n",
    "    newimg = nib.load(Adni_normal_36_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Adni_normal_image_X.append(data)\n",
    "    Adni_normal_image_Y.append(0)\n",
    "\n",
    "\n",
    "Mci_image_X=[]\n",
    "Mci_image_Y=[]\n",
    "for i in range(len(Mci_bl_3_months)):\n",
    "    newimg = nib.load(Mci_bl_3_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Mci_image_X.append(data)\n",
    "    Mci_image_Y.append(1)\n",
    "for i in range(len(Mci_6_months)):\n",
    "    newimg = nib.load(Mci_6_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Mci_image_X.append(data)\n",
    "    Mci_image_Y.append(1)\n",
    "for i in range(len(Mci_12_months)):\n",
    "    newimg = nib.load(Mci_12_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Mci_image_X.append(data)\n",
    "    Mci_image_Y.append(1)\n",
    "    \n",
    "for i in range(len(Mci_24_months)):\n",
    "    newimg = nib.load(Mci_24_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Mci_image_X.append(data)\n",
    "    Mci_image_Y.append(1)\n",
    "    \n",
    "for i in range(len(Mci_36_months)):\n",
    "    newimg = nib.load(Mci_36_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Mci_image_X.append(data)\n",
    "    Mci_image_Y.append(1)\n",
    "\n",
    "\n",
    "Ad_image_X=[]\n",
    "Ad_image_Y=[]\n",
    "for i in range(len(Ad_bl_3_months)):\n",
    "    newimg = nib.load(Ad_bl_3_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Ad_image_X.append(data)\n",
    "    Ad_image_Y.append(2)\n",
    "for i in range(len(Ad_6_months)):\n",
    "    newimg = nib.load(Ad_6_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Ad_image_X.append(data)\n",
    "    Ad_image_Y.append(2)\n",
    "for i in range(len(Ad_12_months)):\n",
    "    newimg = nib.load(Ad_12_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Ad_image_X.append(data)\n",
    "    Ad_image_Y.append(2)\n",
    "    \n",
    "for i in range(len(Ad_24_months)):\n",
    "    newimg = nib.load(Ad_24_months[i])\n",
    "    data = newimg.get_data()\n",
    "    Ad_image_X.append(data)\n",
    "    Ad_image_Y.append(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7f4eb011b198>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Ad_image_X[0][0]\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "##Let’s now look at a slice in that array:\n",
    "\n",
    "plt.figure(1)\n",
    "plt.imshow(Ad_image_X[25][25])#Ad_image_X[0][0]\n",
    "\n",
    "##Let’s now look at a slice in that array:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "cn=[]\n",
    "for i in range(len(Adni_normal_image_X)):\n",
    "    cn.append(Adni_normal_image_X[i][15:105])\n",
    "    \n",
    "    \n",
    "mci=[]\n",
    "for i in range(len(Mci_image_X)):\n",
    "    mci.append(Mci_image_X[i][15:105])\n",
    "ad=[]\n",
    "for i in range(len(Ad_image_X)):\n",
    "    ad.append(Ad_image_X[i][15:105])\n",
    "    \n",
    "del Adni_normal_image_X\n",
    "del Mci_image_X\n",
    "del Ad_image_X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "Total_data_X=[]\n",
    "Total_data_Y=[]\n",
    "for i in range(len(ad)):\n",
    "    Total_data_X.append(ad[i])\n",
    "    Total_data_Y.append(2)\n",
    "for i in range(len(mci)):\n",
    "    Total_data_X.append(mci[i])\n",
    "    Total_data_Y.append(1)\n",
    "for i in range(len(cn)):\n",
    "    Total_data_X.append(cn[i])\n",
    "    Total_data_Y.append(0)\n",
    "del ad\n",
    "del cn\n",
    "del mci"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Ad_image_X[0][0]\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "##Let’s now look at a slice in that array:\n",
    "\n",
    "plt.figure(1)\n",
    "plt.imshow(Total_data_X[0][0],cmap = plt.get_cmap(name = 'gray'))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "Newdata = np.asarray(Total_data_X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(303, 90, 145, 121)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Newdata.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "\n",
    "maindata=Newdata.reshape(len(Newdata)*90,145,121,1)\n",
    "del Newdata\n",
    "new_y=[]\n",
    "for i in range (len(Total_data_X)):\n",
    "    for j in range(90):\n",
    "        new_y.append(Total_data_Y[i])\n",
    "new_y=np.array(new_y)\n",
    "del Total_data_X\n",
    "del Total_data_Y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(maindata, new_y, test_size=0.33)\n",
    "del maindata"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((18270, 145, 121, 1), (18270,))"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape,y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "from sklearn.utils import shuffle\n",
    "x_train = X_train.astype('float32')\n",
    "y_train = keras.utils.to_categorical(y_train)\n",
    "\n",
    "#x_train, y_train = shuffle(x_train, y_train)\n",
    "\n",
    "y_old_test=y_test\n",
    "y_test = keras.utils.to_categorical(y_test)\n",
    "def discriminator_model():\n",
    "    ## Removed \n",
    "    ## \n",
    "    return model\n",
    "#model=discriminator_model()\n",
    "#print(model.summary())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 16443 samples, validate on 1827 samples\n",
      "Epoch 1/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.9457 - acc: 0.5761 - val_loss: 0.7746 - val_acc: 0.7362\n",
      "Epoch 2/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.5253 - acc: 0.8782 - val_loss: 0.4767 - val_acc: 0.9403\n",
      "Epoch 3/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.4253 - acc: 0.9490 - val_loss: 0.4327 - val_acc: 0.9551\n",
      "Epoch 4/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3822 - acc: 0.9729 - val_loss: 0.3968 - val_acc: 0.9836\n",
      "Epoch 5/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3636 - acc: 0.9804 - val_loss: 0.3738 - val_acc: 0.9912\n",
      "Epoch 6/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3472 - acc: 0.9862 - val_loss: 0.3769 - val_acc: 0.9858\n",
      "Epoch 7/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3348 - acc: 0.9891 - val_loss: 0.3516 - val_acc: 0.9956\n",
      "Epoch 8/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3274 - acc: 0.9917 - val_loss: 0.3501 - val_acc: 0.9956\n",
      "Epoch 9/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3174 - acc: 0.9939 - val_loss: 0.3589 - val_acc: 0.9956\n",
      "Epoch 10/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3082 - acc: 0.9951 - val_loss: 0.3458 - val_acc: 0.9978\n",
      "Epoch 11/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.3024 - acc: 0.9952 - val_loss: 0.3322 - val_acc: 0.9984\n",
      "Epoch 12/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2962 - acc: 0.9959 - val_loss: 0.3332 - val_acc: 0.9989\n",
      "Epoch 13/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2919 - acc: 0.9962 - val_loss: 0.3451 - val_acc: 0.9989\n",
      "Epoch 14/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2883 - acc: 0.9971 - val_loss: 0.3508 - val_acc: 0.9918\n",
      "Epoch 15/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2820 - acc: 0.9969 - val_loss: 0.3502 - val_acc: 0.9863\n",
      "Epoch 16/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2912 - acc: 0.9948 - val_loss: 0.3019 - val_acc: 0.9945\n",
      "Epoch 17/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2737 - acc: 0.9979 - val_loss: 0.2818 - val_acc: 0.9989\n",
      "Epoch 18/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2693 - acc: 0.9981 - val_loss: 0.3046 - val_acc: 0.9973\n",
      "Epoch 19/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2625 - acc: 0.9984 - val_loss: 0.2893 - val_acc: 0.9967\n",
      "Epoch 20/20\n",
      "16443/16443 [==============================] - 31s 2ms/step - loss: 0.2588 - acc: 0.9986 - val_loss: 0.2807 - val_acc: 0.9984\n"
     ]
    }
   ],
   "source": [
    "model.compile(keras.optimizers.Adam(lr=1e-5), 'categorical_crossentropy', metrics=['acc'])\n",
    "history=model.fit(x=x_train,y=y_train,batch_size=30, epochs=20,validation_split=0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "9000/9000 [==============================] - 4s 493us/step\n",
      "[0.2790526786910163, 0.9971110820770264]\n"
     ]
    }
   ],
   "source": [
    "del x_train\n",
    "#X_test=np.array(X_test)\n",
    "#x_test = X_test.reshape(X_test.shape[0]*121, 145,121,1)\n",
    "x_test = X_test.astype('float32')\n",
    "print(model.evaluate(x_test,y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Accuracy')"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(history.history['acc'])\n",
    "plt.plot(history.history['val_acc'])\n",
    "plt.legend(['Training Accuracy' ,'Validation Accuracy'])\n",
    "plt.title(\"Proposed Model\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.ylabel(\"Accuracy\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred=model.predict_classes(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_test_old=np.array(y_old_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from sklearn.metrics import accuracy_score, confusion_matrix\n",
    "cm = confusion_matrix(y_test_old, y_pred)\n",
    "\n",
    "# Transform to df for easier plotting\n",
    "cm_df = pd.DataFrame(cm,\n",
    "                     index = ['NC','MCI','AD'], \n",
    "                     columns = ['NC','MCI','AD'])\n",
    "\n",
    "plt.figure(figsize = (4,4))\n",
    "sns.heatmap(cm_df, fmt = 'd' , cmap=\"YlGnBu\",  annot=True, linewidths=.5)\n",
    "plt.title('CNN \\nAccuracy:{0:.3f}'.format(accuracy_score(y_test_old, y_pred)))\n",
    "plt.ylabel('True label')\n",
    "plt.xlabel('Predicted label')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "              precision    recall  f1-score   support\n",
      "\n",
      "          NC       0.99      1.00      1.00      3169\n",
      "         MCI       1.00      1.00      1.00      3280\n",
      "          AD       1.00      1.00      1.00      2551\n",
      "\n",
      "    accuracy                           1.00      9000\n",
      "   macro avg       1.00      1.00      1.00      9000\n",
      "weighted avg       1.00      1.00      1.00      9000\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import classification_report\n",
    "target_names = ['NC', 'MCI', 'AD']\n",
    "print(classification_report(y_test_old, y_pred, target_names=target_names))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
